using System;
using System.Collections.Generic;
using System.Security.Principal;
using System.Web;

namespace Higgs.Web.AtomPub.Models
{
    public interface IEntryRepository
    {
        IEntry GetEntry(Guid id, IIdentity user);
        void CreateEntry(IEntry entry, HttpContextBase context, IIdentity user);
        void UpdateEntry(HttpContextBase context, Guid id, string title, string contentHtml, DateTime? published, string[] categories, bool draft, IIdentity user);
        void DeleteEntry(Guid id, HttpContextBase context, IIdentity user);

        IEnumerable<IEntry> GetEntryList(int index, int count, bool includeDrafts, IIdentity user);
        IEnumerable<string> GetCategories(IIdentity user);
        DateTime? GetLastUpdated(bool includeDrafts, IIdentity user);
        int Count(IIdentity user);
    }
}

